From 70032000cdf549c73ef9dcf5a2b116152ba9e85a Mon Sep 17 00:00:00 2001 From: "rac61@labyrinth.cl.cam.ac.uk" Date: Mon, 7 Jul 2003 15:21:46 +0000 Subject: [PATCH] bitkeeper revision 1.289.1.1 (3f09900aefK6NzyZH8jsgJ6oY7H2Tw) Add VD delete/refresh commands --- .rootkeys | 4 ++ .../src/org/xenoserver/cmdline/Main.java | 2 + .../org/xenoserver/cmdline/ParseVdDelete.java | 40 ++++++++++++++++++ .../xenoserver/cmdline/ParseVdRefresh.java | 42 +++++++++++++++++++ .../xenoserver/control/CommandVdDelete.java | 18 ++++++++ .../xenoserver/control/CommandVdRefresh.java | 23 ++++++++++ 6 files changed, 129 insertions(+) create mode 100644 tools/control/src/org/xenoserver/cmdline/ParseVdDelete.java create mode 100644 tools/control/src/org/xenoserver/cmdline/ParseVdRefresh.java create mode 100644 tools/control/src/org/xenoserver/control/CommandVdDelete.java create mode 100644 tools/control/src/org/xenoserver/control/CommandVdRefresh.java diff --git a/.rootkeys b/.rootkeys index 911f1e5caf..6b3f9f899a 100644 --- a/.rootkeys +++ b/.rootkeys @@ -31,7 +31,9 @@ 3f05631dMY7PMkwSY7zBFelGJ8goVg tools/control/src/org/xenoserver/cmdline/ParsePhysicalList.java 3f05631dYDFXv6mwNFAgz3ta9kShJA tools/control/src/org/xenoserver/cmdline/ParsePhysicalRevoke.java 3f098761TRsbDk9woUM846Q6_F7EmA tools/control/src/org/xenoserver/cmdline/ParseVdCreate.java +3f099009pmH9MFkRYwP2V1DfsqEwdg tools/control/src/org/xenoserver/cmdline/ParseVdDelete.java 3f098761zh9WTV6LpRqcet3gqlXdtg tools/control/src/org/xenoserver/cmdline/ParseVdFree.java +3f099009lDK_5xXO4gPyPpCTUhgnCA tools/control/src/org/xenoserver/cmdline/ParseVdRefresh.java 3f098761vY4hzt_QKskmvMcibN0zYQ tools/control/src/org/xenoserver/cmdline/ParseVdShow.java 3f042c35V-Bf3dlIe1r5mZs8ZTPSvA tools/control/src/org/xenoserver/control/Command.java 3f042c35U_4O2eovLKUgo2avPPHKUw tools/control/src/org/xenoserver/control/CommandDomainDestroy.java @@ -45,6 +47,8 @@ 3f05631e_G6wzHhEnpihX0pIkEsbMw tools/control/src/org/xenoserver/control/CommandPhysicalList.java 3f05631eGWxq7bojQbMa-tGxsENIhw tools/control/src/org/xenoserver/control/CommandPhysicalRevoke.java 3f098761c5-idlmf9vWEMOlDw0VCHg tools/control/src/org/xenoserver/control/CommandVdCreate.java +3f0990096KcyQw77qJmjTu941smS8A tools/control/src/org/xenoserver/control/CommandVdDelete.java +3f0990093VJUL7QjxGigR5GPXf_Fkw tools/control/src/org/xenoserver/control/CommandVdRefresh.java 3eb781fdBRXfSlWzK6GXlIQIlHFoaQ tools/control/src/org/xenoserver/control/Defaults.java 3ec41f7cQ7Ug739JBDrsVH-7KJ5MvQ tools/control/src/org/xenoserver/control/Domain.java 3ec41f7cAzdBu0lkuTTQx92rqSM9Qw tools/control/src/org/xenoserver/control/Extent.java diff --git a/tools/control/src/org/xenoserver/cmdline/Main.java b/tools/control/src/org/xenoserver/cmdline/Main.java index ad58cadb7e..7a3f96af52 100644 --- a/tools/control/src/org/xenoserver/cmdline/Main.java +++ b/tools/control/src/org/xenoserver/cmdline/Main.java @@ -25,6 +25,8 @@ public class Main { }; static final CommandParser vdcommands[] = { new ParseVdCreate(), + new ParseVdDelete(), + new ParseVdRefresh(), new ParseVdShow(), new ParseVdFree() }; diff --git a/tools/control/src/org/xenoserver/cmdline/ParseVdDelete.java b/tools/control/src/org/xenoserver/cmdline/ParseVdDelete.java new file mode 100644 index 0000000000..20713e5366 --- /dev/null +++ b/tools/control/src/org/xenoserver/cmdline/ParseVdDelete.java @@ -0,0 +1,40 @@ +package org.xenoserver.cmdline; + +import java.util.LinkedList; + +import org.xenoserver.control.CommandFailedException; +import org.xenoserver.control.CommandVdDelete; +import org.xenoserver.control.Defaults; +import org.xenoserver.control.VirtualDiskManager; + +public class ParseVdDelete extends CommandParser { + public void parse(Defaults d, LinkedList args) throws ParseFailedException, CommandFailedException { + String vd_key = getStringParameter(args,'k',""); + + if ( vd_key.equals("") ) + throw new ParseFailedException("Expected -k"); + + loadState(); + if ( VirtualDiskManager.it.get_virtual_disk_key(vd_key) == null ) + throw new CommandFailedException("Virtual disk " + vd_key + " does not exist"); + + String output = new CommandVdDelete(vd_key).execute(); + if ( output != null ) + System.out.println( output ); + + saveState(); + } + + public String getName() { + return "delete"; + } + + public String getUsage() { + return "[-k]"; + } + + public String getHelpText() { + return "Deletes the virtual disk with the specified key."; + } + +} diff --git a/tools/control/src/org/xenoserver/cmdline/ParseVdRefresh.java b/tools/control/src/org/xenoserver/cmdline/ParseVdRefresh.java new file mode 100644 index 0000000000..be5a36616e --- /dev/null +++ b/tools/control/src/org/xenoserver/cmdline/ParseVdRefresh.java @@ -0,0 +1,42 @@ +package org.xenoserver.cmdline; + +import java.util.Date; +import java.util.LinkedList; + +import org.xenoserver.control.CommandFailedException; +import org.xenoserver.control.CommandVdRefresh; +import org.xenoserver.control.Defaults; + +public class ParseVdRefresh extends CommandParser { + public void parse(Defaults d, LinkedList args) throws ParseFailedException, CommandFailedException { + String vd_key = getStringParameter(args,'k',""); + String expiry_s = getStringParameter(args,'e',""); + Date expiry; + + if ( vd_key.equals("") ) + throw new ParseFailedException("Expected -k"); + if ( expiry_s.equals("") ) + expiry = null; + else + expiry = new Date(Date.parse(expiry_s)); + + loadState(); + String output = new CommandVdRefresh(vd_key,expiry).execute(); + if ( output != null ) + System.out.println(output); + saveState(); + } + + public String getName() { + return "refresh"; + } + + public String getUsage() { + return "-k [-e]"; + } + + public String getHelpText() { + return "Refresh the expiry for the specified virtual disk. Omitting -e will cause the disk to never expire."; + } + +} diff --git a/tools/control/src/org/xenoserver/control/CommandVdDelete.java b/tools/control/src/org/xenoserver/control/CommandVdDelete.java new file mode 100644 index 0000000000..6df1a69da5 --- /dev/null +++ b/tools/control/src/org/xenoserver/control/CommandVdDelete.java @@ -0,0 +1,18 @@ +package org.xenoserver.control; + +public class CommandVdDelete extends Command { + private String key; + + /** + * Constructor for CommandVdDelete. + * @param key The key of the disk to delete. + */ + public CommandVdDelete(String key) { + this.key = key; + } + + public String execute() throws CommandFailedException { + VirtualDiskManager.it.delete_virtual_disk(key); + return "Deleted virtual disk " + key; + } +} diff --git a/tools/control/src/org/xenoserver/control/CommandVdRefresh.java b/tools/control/src/org/xenoserver/control/CommandVdRefresh.java new file mode 100644 index 0000000000..35a7d8f058 --- /dev/null +++ b/tools/control/src/org/xenoserver/control/CommandVdRefresh.java @@ -0,0 +1,23 @@ +package org.xenoserver.control; + +import java.util.Date; + +public class CommandVdRefresh extends Command { + private String key; + private Date expiry; + + /** + * Constructor for CommandVdRefresh. + * @param key Key to refresh. + * @param expiry New expiry. + */ + public CommandVdRefresh(String key, Date expiry) { + this.key = key; + this.expiry = expiry; + } + + public String execute() throws CommandFailedException { + VirtualDiskManager.it.refresh_virtual_disk(key,expiry); + return "Refreshed virtual disk " + key; + } +} -- 2.30.2